package com.jrx.anytxn.reporting.enums;

import org.apache.commons.lang3.StringUtils;

/**
 * @author user
 */
public enum PairingEnum {
    /**
     * 厦门国际银行（贷款内部户-网联支付）
     */
    ONLINE("C63-WL","CNY1358420010001","厦门国际银行（贷款内部户-网联支付）"),
    /**
     * 厦门国际银行（贷款内部户-银联无卡）
     */
    CARD_FREE("C63-YL","CNY1358420510001","厦门国际银行（贷款内部户-银联无卡）"),
    /**
     * 厦门国际银行（贷款内部户-收单）
     */
    ACQUIRING("C72","CNY1358421010001","厦门国际银行（贷款内部户-收单）"),
    /**
     * 厦门国际银行（贷款内部户-收单-微信还款）
     */
    ACQUIRING_WX("C72-WX","CNY1571710010001","厦门国际银行（贷款内部户-收单-微信还款）"),
    /**
     * 厦门国际银行（贷款内部户-银联卡）
     */
    CHINA_UNION_CARD("C48","CNY1358421510001","厦门国际银行（贷款内部户-银联卡）"),
    /**
     * 厦门国际银行（贷款内部户）
     */
    CHINA_UNION_PCP("PCP","CNY1358400510001","厦门国际银行（贷款内部户）"),
    /**
     * 厦门国际银行（贷款内部户）
     */
    CHINA_UNION_T24("T24","CNY1358400010001","厦门国际银行（贷款内部户）");

    private String channel;
    private String account;
    private String name;

    PairingEnum(String channel, String account, String name){
        this.channel = channel;
        this.account = account;
        this.name = name;
    }

    public String getChannel() {
        return channel;
    }

    public String getAccount() {
        return account;
    }

    public String getName() {
        return name;
    }

    public static PairingEnum getByChannel(String code){
        if (StringUtils.isNotBlank(code)) {
            for (PairingEnum pairingEnum:PairingEnum.values()){
                if(pairingEnum.getChannel().equals(code)){
                    return pairingEnum;
                }
            }
        }
        return null;
    }

    public static String getAccountByChannel(String code){
        if (StringUtils.isNotBlank(code)) {
            for (PairingEnum pairingEnum:PairingEnum.values()){
                if(pairingEnum.getChannel().equals(code)){
                    return pairingEnum.getAccount();
                }
            }
        }
        return null;
    }

    public static String getNameByChannel(String code){
        if (StringUtils.isNotBlank(code)) {
            for (PairingEnum pairingEnum:PairingEnum.values()){
                if(pairingEnum.getChannel().equals(code)){
                    return pairingEnum.getName();
                }
            }
        }
        return null;
    }
}
